import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import 'font-awesome/css/font-awesome.min.css'
import axios from 'axios'
import qs from 'qs'
import {
    getCurDate,
    setSessionStorage,
    getSessionStorage,
    removeSessionStorage,
    setLocalStorage,
    getLocalStorage,
    removeLocalStorage
} from './common.js'
import http from '@/utils/request'

const app = createApp(App)

//设置axios的基础url部分
axios.defaults.baseURL = 'http://localhost:8080/elm/'
axios.defaults.withCredentials = true // 允许跨域携带cookie
axios.defaults.timeout = 10000 // 设置超时时间

//将axios挂载到vue实例上
app.config.globalProperties.$axios = axios
app.config.globalProperties.$qs = qs
app.config.globalProperties.$getCurDate = getCurDate
app.config.globalProperties.$setSessionStorage = setSessionStorage
app.config.globalProperties.$getSessionStorage = getSessionStorage
app.config.globalProperties.$removeSessionStorage = removeSessionStorage
app.config.globalProperties.$setLocalStorage = setLocalStorage
app.config.globalProperties.$getLocalStorage = getLocalStorage
app.config.globalProperties.$removeLocalStorage = removeLocalStorage
app.config.globalProperties.$http = http

app.use(router)
app.use(ElementPlus)

router.beforeEach((to, from, next) => {
    let user = sessionStorage.getItem('user')
    //除了登录、注册、首页、商家列表、商家信息之外，都需要判断是否登录
    if (!(to.path == '/' ||
        to.path == '/index' ||
        to.path == '/businessList' ||
        to.path == '/businessInfo' ||
        to.path == '/login' ||
        to.path == '/register')) {
        if (user == null) {
            router.push('/login')
            location.reload()
        }
    }
    next()
})

app.mount('#app')


